/**
 * This class will implement the entity of Subscribed client.
 * Each instance of this class will be a subscription.
 * @author Gil Levinson
 * @author Boris Fradlis
 * @author Yogev Levi
 * @author Hila Porat 
 */

package vcpClasses;

import java.util.Date; 
import java.sql.Time; 
import java.text.SimpleDateFormat;

// Start of SubscribedClient *******************************************************************

public class SubscribedClient  extends Client{
	
	// Class variables *************************************************************************
	
	private int subscriptionNumber;
	private String startDate;
	private String clientLeaveTime;
	private String clientLeaveDate;
	private String typeOfSubscription;
	private int vehicleNumber;
	private int lotNumber;
	private int sidParkingLoaction;
	private String SubscriptionStatus;
	private int numberOfParkingUsed;
	private int subsequentDays;
	private String lastParkingDate;
	
	
	// Constructors ****************************************************************************************
	
	/**
	 * constructor when no input is given
	 */
	
	public SubscribedClient(){
		this.setSubscriptionNumber(0);
		this.setStartDate(null);
		this.setClientLeaveTime(null);
		this.setClientLeaveDate(null);
		this.setTypeOfSubscription(new String());
		this.setVehicleNumber(0);
		this.setLotNumber(0);
		this.setSidParkingLoaction(0);
	}
	/**
	 * Constructor given the subscription number
	 * @param num the subscription number
	 */
	
	public SubscribedClient(int num) {
		this.setSubscriptionNumber(num);
	}
	
	// Setters and Getters **********************************************************************************

	

	/**
	 * @return the subscriptionNumber
	 */
	public int getSubscriptionNumber() {
		return subscriptionNumber;
	}

	/**
	 * @param subscriptionNumber the subscriptionNumber to set
	 */
	public void setSubscriptionNumber(int subscriptionNumber) {
		this.subscriptionNumber = subscriptionNumber;
	}

	/**
	 * @return the startDate
	 */
	public String getStartDate() {
		return startDate;
	}

	/**
	 * @param startDate the startDate to set
	 */
	public void setStartDate(String startDate) {
		this.startDate = startDate;
	}

	/**
	 * @return the clientLeaveTime
	 */
	public String getClientLeaveTime() {
		return clientLeaveTime;
	}

	/**
	 * @param clientLeaveTime the clientLeaveTime to set
	 */
	public void setClientLeaveTime(String clientLeaveTime) {
		this.clientLeaveTime = clientLeaveTime;
	}

	/**
	 * @return the typeOfSubscription
	 */
	public String getTypeOfSubscription() {
		return typeOfSubscription;
	}

	/**
	 * @param typeOfSubscription the typeOfSubscription to set
	 */
	public void setTypeOfSubscription(String typeOfSubscription) {
		this.typeOfSubscription = typeOfSubscription;
	}

	/**
	 * @return the vehicleNumber
	 */
	public int getVehicleNumber() {
		return vehicleNumber;
	}

	/**
	 * @param vehicleNumber the vehicleNumber to set
	 */
	public void setVehicleNumber(int vehicleNumber) {
		this.vehicleNumber = vehicleNumber;
	}

	/**
	 * @return the lotNumber
	 */
	public int getLotNumber() {
		return lotNumber;
	}

	/**
	 * @param lotNumber the lotNumber to set
	 */
	public void setLotNumber(int lotNumber) {
		this.lotNumber = lotNumber;
	}

	/**
	 * @return the subscriptionStatus
	 */
	public String getSubscriptionStatus() {
		return SubscriptionStatus;
	}

	/**
	 * @param subscriptionStatus the subscriptionStatus to set
	 */
	public void setSubscriptionStatus(String subscriptionStatus) {
		SubscriptionStatus = subscriptionStatus;
	}
	/**
	 * @return the numberOfParkingUsed
	 */
	public int getNumberOfParkingUsed() {
		return numberOfParkingUsed;
	}
	/**
	 * @param numberOfParkingUsed the numberOfParkingUsed to set
	 */
	public void setNumberOfParkingUsed(int numberOfParkingUsed) {
		this.numberOfParkingUsed = numberOfParkingUsed;
	}
	/**
	 * @return the subsequentDays
	 */
	public int getSubsequentDays() {
		return subsequentDays;
	}
	/**
	 * @param subsequentDays the subsequentDays to set
	 */
	public void setSubsequentDays(int subsequentDays) {
		this.subsequentDays = subsequentDays;
	}
	/**
	 * @return the lastParkingDate
	 */
	public String getLastParkingDate() {
		return lastParkingDate;
	}
	/**
	 * @param lastParkingDate the lastParkingDate to set
	 */
	public void setLastParkingDate(String lastParkingDate) {
		this.lastParkingDate = lastParkingDate;
	}
	public String getClientLeaveDate() {
		return clientLeaveDate;
	}
	public void setClientLeaveDate(String clientLeaveDate) {
		this.clientLeaveDate = clientLeaveDate;
	}
	public int getSidParkingLoaction() {
		return sidParkingLoaction;
	}
	public void setSidParkingLoaction(int sidParkingLoaction) {
		this.sidParkingLoaction = sidParkingLoaction;
	}

}
